Decoding method and decoding apparatus

ABSTRACT

A decoding method of decoding encoded data per unit from among units included in a picture is provided. The decoding method decodes a first flag which indicates whether a removal time of the encoded data from a buffer is set per unit. The buffer is for storing the encoded data. The image decoding method further decodes a second flag indicating whether an interval between removal times of the units is constant when the removal time is set per unit. The image decoding method removes the encoded data from the buffer per unit and at an interval according to the second flag, and decodes the removed encoded data.

CROSS-REFERENCE TO RELATED APPLICATION

This is a continuation application of pending U.S. patent applicationSer. No. 13/864,571, filed Apr. 17, 2013, which claims the benefit ofU.S. Provisional Patent Application Nos. 61/636,913, filed on Apr. 23,2012, and 61/658,957, filed on Jun. 13, 2012. The disclosure of each ofthe above-identified applications, including the specification,drawings, and claims, is incorporated herein by reference in itsentirety.

FIELD

One or more exemplary embodiments disclosed herein relate generally toimage coding methods and image decoding apparatuses.

BACKGROUND

In order to compress audio data and video data, more than one audiocoding standard and video coding standard have been developed. Examplesof the video coding standard include the ITU-T standard referred to asH. 26× and the ISO/IEC standard referred to as MPEG-x (see Non PatentLiterature (NPL) 1, for example). The most up-to-date video codingstandard is the standard referred to as H.264/MPEG-4AVC. Furthermore,the next-generation coding standard referred to as high efficiency videcoding (HEVC) has been under study (see Non Patent Literature (NPL) 2,for example).

CITATION LIST Non Patent Literature

-   [NPL 1] ISO/IEC 14496-10 “MPEG-4 Part 10 Advanced Video Coding”-   [NPL 2] Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T    SG16 WP3 and ISO/IEC JTC1/SC29/WG11 8th Meeting: San Jose, Calif.,    USA, 1-10 Feb. 2012, JCTVC-H1003, “High Efficiency Video Coding    (HEVC) text specification draft 6”    http://phenix.int-evey.fr/jct/doc_end_user/documents/8_San %20J

SUMMARY Technical Problem

In such image coding method and image decoding method, a reduction inprocessing load has been demanded.

Thus, non-limiting and exemplary embodiment provides an image decodingmethod which enables a reduction in processing load.

Solution to Problem

In one general aspect, the techniques disclosed here feature an imagedecoding method of decoding encoded data per unit included in one ormore units that are included in a picture, the image decoding methodcomprising: obtaining, from an encoded bitstream including the encodeddata, a first flag indicating whether or not a removal time of theencoded data from a buffer is set per unit, the buffer being for storingthe encoded data; obtaining, from the encoded bitstream, a second flagindicating whether an interval between removal times of the units isconstant or arbitrary when the removal time is set per unit; removingthe encoded data from the buffer per unit and at a constant or arbitraryinterval according to the second flag; and decoding the removed encodeddata.

These general and specific aspects may be implemented using a system, amethod, an integrated circuit, a computer program, or acomputer-readable recording medium such as a compact disk read onlymemory (CD-ROM), and may also be implemented using any combination ofsystems, methods, integrated circuits, computer programs, and recordingmedia.

Advantageous Effects

One or more exemplary embodiments or features disclosed herein providean image decoding method which enables a reduction in processing load.

BRIEF DESCRIPTION OF DRAWINGS

These and other advantages and features will become apparent from thefollowing description thereof taken in conjunction with the accompanyingDrawings, by way of non-limiting examples of embodiments disclosedherein.

FIG. 1 shows an example of a syntax of VUI according to Embodiment 1.

FIG. 2 shows an example of a syntax of picture timing SEI according toEmbodiment 1.

FIG. 3 shows an example of a syntax of VUI according to Embodiment 1.

FIG. 4 shows an example of a syntax of buffering period SEI according toEmbodiment 1.

FIG. 5 shows an example of a syntax of picture timing SEI according toEmbodiment 1.

FIG. 6A is a flowchart of an image decoding method according toEmbodiment 1.

FIG. 6B is a flowchart of an image coding method according to Embodiment1.

FIG. 7A is a block diagram of an image decoding apparatus according toEmbodiment 1.

FIG. 7B is a block diagram of an extraction time point determinationunit included in the image decoding apparatus according to Embodiment 1.

FIG. 8A is a block diagram of an image coding apparatus according toEmbodiment 1.

FIG. 8B is a block diagram of an extraction time point determinationunit included in the image coding apparatus according to Embodiment 1.

FIG. 9 shows an example of a syntax of decoding unit CPB delay SEIaccording to Embodiment 1.

FIG. 10 shows a structure example of a coded bitstream according toEmbodiment 1.

FIG. 11 shows a structure example of a coded bitstream according toEmbodiment 1.

FIG. 12 shows an example of a descriptor according to Embodiment 1.

FIG. 13 is a block diagram of the image decoding apparatus (STD)according to Embodiment 1.

FIG. 14A shows an example of buffer occupancy according to Embodiment 1in the case where extraction is performed per access unit.

FIG. 14B shows an example of buffer occupancy according to Embodiment 1in the case where extraction is performed per decoding unit.

FIG. 15 is a flowchart of the image decoding method according toEmbodiment 1.

FIG. 16 is a flowchart of the image coding method according toEmbodiment 1.

FIG. 17 is a block diagram of a coder according to Embodiment 1.

FIG. 18 FIG. 18 is a block diagram of a decoder according to Embodiment1.

FIG. 19 illustrates an overall configuration of a content providingsystem ex190 for implementing content distribution services.

FIG. 20 illustrates an overall configuration of a digital broadcastingsystem.

FIG. 21 illustrates a block diagram illustrating an example of aconfiguration of a television.

FIG. 22 illustrates a block diagram illustrating an example of aconfiguration of an information reproducing/recording unit that readsand writes information from and on a recording medium that is an opticaldisk.

FIG. 23 illustrates an example of a configuration of a recording mediumthat is an optical disk.

FIG. 24A illustrates an example of a cellular phone.

FIG. 24B is a block diagram showing an example of a configuration of acellular phone.

FIG. 25 illustrates a structure of multiplexed data.

FIG. 26 schematically illustrates how each stream is multiplexed inmultiplexed data.

FIG. 27 illustrates how a video stream is stored in a stream of PESpackets in more detail.

FIG. 28 illustrates a structure of TS packets and source packets in themultiplexed data.

FIG. 29 illustrates a data structure of a PMT.

FIG. 30 illustrates an internal structure of multiplexed datainformation.

FIG. 31 illustrates an internal structure of stream attributeinformation.

FIG. 32 illustrates steps for identifying video data.

FIG. 33 illustrates an example of a configuration of an integratedcircuit for implementing the moving picture coding method and the movingpicture decoding method according to each of Embodiments.

FIG. 34 illustrates a configuration for switching between drivingfrequencies.

FIG. 35 illustrates steps for identifying video data and switchingbetween driving frequencies.

FIG. 36 shows an example of a look-up table in which video datastandards are associated with the driving frequencies.

FIG. 37A is a diagram showing an example of a configuration for sharinga module of a signal processing unit.

FIG. 37B is a diagram showing another example of a configuration forsharing a module of the signal processing unit.

DESCRIPTION OF EMBODIMENTS (Underlying Knowledge Forming Basis of thePresent Disclosure)

In relation to the conventional techniques, the inventors have found thefollowing problem.

The following describes a comparative example of an image decodingapparatus disclosed herein.

An access unit (equivalent to a picture, for example) in video isdivided into decoding units. Furthermore, for each of the decodingunits, an extraction time point is set which is a point in time when theimage decoding apparatus extracts coded data of the decoding unit from acoded picture buffer (CPB). With this, the image decoding apparatus iscapable of sequentially decoding coded data of the decoding unit as soonas the coded data is ready. By doing so, the image decoding apparatusdoes not need to wait for completion of reception of all the data of theaccess unit and thereby allows a reduction in delay time.

All parameters for determining a time point for extraction of each ofthe decoding units from the CPB are described in picture timing SEI, forexample. Accordingly, the image decoding apparatus needs to parsepicture timing SEI within the access unit each time in order to obtainan extraction time point of a decoding unit. Thus, the inventors havefound a problem of an increase in load of the image decoding apparatus.

Furthermore, a conceivable method of conveying information on theextraction time point of the decoding unit from the image codingapparatus to the image decoding apparatus is a method of includinginformation on the extraction time point of each of the decoding unitsinto the coded bitstream. However, the intervals between extraction timepoints of the decoding units need to be different from each other insome cases and may be the same as each other in other cases. Theinventors have found that, in the case where the same intervals areused, including the information on the extraction time point of each ofthe decoding units into the coded bitstream as stated above results inthe coded bitstream with redundant information included therein.

In one general aspect, the techniques disclosed here feature an imageencoding method of encoding one or more units that are included in apicture, the image coding method comprising: generating a first flagindicating whether or not a removal time of encoded data from a bufferby a hypothetical decoder is set per unit, the buffer being for storingthe encoded data; generating a second flag indicating whether aninterval between removal times of the units is constant or arbitrarywhen the removal time is set per unit; and generating an encodedbitstream including the encoded data, the first flag, and the secondflag.

By doing so, the image coding method makes it possible to set constanttime intervals at which the image decoding apparatus removes per-unitcoded data from the buffer. This allows a reduction in processing loadin the image decoding apparatus, for example.

For example, it may be that, in the generating of an encoded bitstream,the second flag is included into per-picture-group control informationwhich is included in the encoded bitstream and provided per picturegroup including one or more pictures.

For example, it may be that the image encoding method further comprisesgenerating common-interval information when the second flag indicatesthat the interval is constant, the common-interval informationindicating the interval, and in the generating of an encoded bitstream,the common-interval information is included into per-picture controlinformation which is included in the encoded bitstream and provided perpicture.

For example, it may be that the common-interval information includes atime interval between pictures and a total number of the units includedin one picture.

For example, it may be that the image encoding method further comprisinggenerating variable-interval information when the second flag indicatesthat the interval is arbitrary, the variable-interval informationindicating the interval for each of the units, and in the generating ofan encoded bitstream, the variable-interval information is included intothe per-picture control information.

For example, it may be that the image encoding method further comprisesgenerating variable-interval information when the second flag indicatesthat the interval is arbitrary, the variable-interval informationindicating the interval for each of the units, and in the generating ofan encoded bitstream, the variable-interval information is included intoper-unit control information which is included in the encoded bitstreamand provided per unit.

For example, it may be that the encoded bitstream includes a transportstream and a descriptor, and in the generating of an encoded bitstream,the second flag is included into the descriptor.

Furthermore, according to an exemplary embodiment disclosed herein, animage decoding method of decoding encoded data per unit included in oneor more units that are included in a picture, the image decoding methodcomprises: obtaining, from an encoded bitstream including the encodeddata, a first flag indicating whether or not a removal time of theencoded data from a buffer is set per unit, the buffer being for storingthe encoded data; obtaining, from the encoded bitstream, a second flagindicating whether an interval between removal times of the units isconstant or arbitrary when the removal time is set per unit; removingthe encoded data from the buffer per unit and at a constant or arbitraryinterval according to the second flag; and decoding the removed encodeddata.

By doing so, the image decoding method allows a reduction in processingload.

For example, it may be that, in the obtaining of a second flag, thesecond flag is obtained from per-picture-group control information whichis included in the encoded bitstream and provided per picture groupincluding one or more pictures.

For example, it may be that the image decoding method further comprisesobtaining common-interval information from per-picture controlinformation when the second flag indicates that the interval isconstant, the common-interval information indicating the interval, andthe per-picture control information being included in the encodedbitstream and provided per picture, and in the removing, when the secondflag indicates that the interval is constant, the encoded data isremoved from the buffer per unit and at the interval indicated in thecommon-interval information.

For example, it may be that the common-interval information indicates atime interval between pictures and a total number of the units includedin one picture, and in the removing, the interval is calculated usingthe time interval between the pictures and the total number of theunits, and the encoded data is removed from the buffer per unit and atthe calculated interval.

For example, it may be that the image decoding method further comprisesobtaining variable-interval information from the per-picture controlinformation when the second flag indicates that the interval isarbitrary, the variable-interval information indicating the interval foreach of the units, and in the removing, when the second flag indicatesthat the interval is arbitrary, the encoded data is removed from thebuffer per unit and at the interval indicated in the variable-intervalinformation.

For example, it may be that the image decoding method further comprisesobtaining variable-interval information from per-unit controlinformation when the second flag indicates that the interval isarbitrary, the variable-interval information indicating the interval foreach of the units, and the per-unit control information being includedin the encoded bitstream and provided per unit, and in the removing,when the second flag indicates that the interval is arbitrary, theencoded data is removed from the buffer per unit and at the intervalindicated in the variable-interval information.

For example, it may be that the encoded bitstream includes a transportstream and a descriptor, and in the obtaining of a second flag, thesecond flag is obtained from the descriptor.

Furthermore, according to an exemplary embodiment disclosed herein, animage encoding apparatus for encoding one or more units that areincluded in a picture comprises: control circuitry; and storageaccessible from the control circuitry, wherein the control circuitryexecutes: generating a first flag indicating whether or not a removaltime of encoded data from a buffer by a hypothetical decoder is set perunit, the buffer being for storing the encoded data; generating a secondflag indicating whether an interval between removal times of the unitsis constant or arbitrary when the removal time is set per unit; andgenerating an en coded bitstream including the encoded data, the firstflag, and the second flag.

By doing so, the image coding apparatus is capable of setting constanttime intervals at which the image decoding apparatus removes per-unitcoded data from the buffer. This allows a reduction in processing loadin the image decoding apparatus, for example.

Furthermore, according to an exemplary embodiment disclosed herein, animage decoding apparatus for decoding encoded data per unit included inone or more units that are included in a picture comprises: controlcircuitry; and storage accessible from the control circuitry, whereinthe control circuitry executes: obtaining, from an encoded bitstreamincluding the encoded data, a first flag indicating whether or not aremoval time of the encoded data from a buffer is set per unit, thebuffer being for storing the encoded data; obtaining, from the encodedbitstream, a second flag indicating whether an interval between removaltimes of the units is constant or arbitrary when the removal time is setper unit; removing the encoded data from the buffer per unit and at aconstant or arbitrary interval according to the second flag; anddecoding the removed encoded data.

By doing so, the image decoding apparatus allows a reduction inprocessing load.

Furthermore, according to an exemplary embodiment disclosed herein, animage encoding and decoding apparatus comprises the above image encodingapparatus and the above image decoding apparatus.

These general and specific aspects may be implemented using a system, amethod, an integrated circuit, a computer program, or acomputer-readable recording medium such as a compact disk read onlymemory (CD-ROM), and may also be implemented using any combination ofsystems, methods, integrated circuits, computer programs, and recordingmedia.

The following specifically describes exemplary embodiments withreference to the drawings.

Each of the exemplary embodiments described below shows a general orspecific example. The numerical values, shapes, materials, structuralelements, the arrangement and connection of the structural elements,steps, the processing order of the steps etc. shown in the followingexemplary embodiments are mere examples, and therefore do not the scopeof the appended Claims and their equivalents. Therefore, among thestructural elements in the following exemplary embodiments, structuralelements not recited in any one of the independent claims indicating thebroadest concept are described as arbitrary structural elements.

Embodiment 1

An image coding apparatus and an image decoding apparatus according tothis embodiment each use two modes: an interval between time points forextraction of the decoding units in the access unit from the CPB is (i)constant in one mode (Common-interval mode) and (ii) arbitrary in theother mode (Variable-interval mode). The image coding apparatus assumes,as a hypothetical reference decoder, that image decoding apparatus towhich information is transmitted, and switches the method of generatingand transmitting extraction time point information for each of themodes.

As an example, the image coding apparatus and the image decodingapparatus each basically use the common-interval mode. The image codingapparatus and the image decoding apparatus each use thevariable-interval mode for video which is largely different in codeamount depending on a region within the access unit.

Furthermore, the image coding apparatus may include informationindicating an interval between extraction time points into, instead ofan access unit, a unit (e.g., a unit of pictures) at a higher level thanthe access unit such as a sequence parameter set (SPS). With this, theimage decoding apparatus does not need to perform the parsing per accessunit.

The image decoding apparatus parses a unit at a higher level than theaccess unit, such as the SPS (more specifically, video usabilityinformation (VUI) in the SPS), to judge whether the current mode is thecommon-interval mode or the variable-interval mode, and according to thejudged mode, switches the method of obtaining the extraction time pointinformation.

Furthermore, the image decoding apparatus which supports only thecommon-interval mode may start decoding per access unit without startingdecoding per decoding unit when it is judged that the current mode isthe variable-interval mode.

The coded stream is generally transmitted in the form of beingmultiplexed using the MPEG-2 transport stream (TS), the MP4, thereal-time transport protocol (RIP), or the like. Thus, the image codingapparatus may transmit, in a multiplex layer, information common tosequences (sets of pictures), such as information for identifying theabove mode and an interval between extraction time points in thecommon-interval mode.

A first syntax example according to this embodiment is described below.

FIG. 1 shows a syntax example of the VUI included in the SPS. FIG. 2shows a syntax example of picture timing SEI which is assigned to eachaccess unit.

A variable-interval flag (variable_sub_pic_removal_period_flag) that isinformation indicating whether the interval between time points forextraction from the CPB among the decoding units in the access unit isthe common-interval mode or the variable-interval mode is stored intothe VUI. Furthermore, the image decoding apparatus determines theinterval between extraction time points using a parameter within the VUIin the case of the common-interval mode and determines the intervalbetween extraction time points using a parameter within the picturetiming SEI in the case of the variable-interval mode.

For example, when the variable-interval flag(variable_sub_pic_removal_period_flag) is 0, the interval between timepoints for extraction from the CPB is common to the decoding unitswithin the access unit (the common-interval mode). In addition, theinterval between the extraction time points is defined by a subsequentsyntax within the VUI.

On the other hand, when the variable-interval flag is 1, the intervalbetween time points for extraction from the CPB is arbitrary among thedecoding units within the access unit (the variable-interval mode). Inaddition, the interval between the extraction time points is defined bythe picture timing SEI which is assigned to each access unit.

In addition, a unit-of-decoding flag (sub_pic_cpb_flag) included in theVUI indicates whether the setting of the decoding process (theextraction of coded data from the CPB) is performed per access unit(picture) or per decoding unit. When the unit-of-decoding flag is 0, itindicates per access unit, and when the unit-of-decoding flag is 1, itindicates per decoding unit.

The definitions of other syntaxes are as stated in NPL 2, for example.

When the unit-of-decoding flag (sub_pic_cpb_flag) and thevariable-interval flag (variable_sub_pic_removal_period_flag) are both1, num_decoding_units_minus1 and cpb_removal_delay exist within thepicture timing SEI. The number of decoding units within the access unitis num_decoding_units_minus1+1. And cpb_removal_delay defines a timepoint for extraction of each of the decoding units from the CPB.

In other cases, num_decoding_units_minus1 does not exist within thepicture timing SEI and its value is regarded as 0.

When the unit-of-decoding flag (sub_pic_cpb_flag) is 0, the extractionfrom the CPB is performed per access unit, and the extraction time pointis determined based on cpb_removal_delay.

When the unit-of-decoding flag is 1 and the variable-interval flag is 0(sub_pic_cpb_flag=1 && variable_sub_pic_removal_period_flag=0), theextraction from the CPB is performed per decoding unit, and theextraction time point is determined based on a parameter within the VUI.

A second syntax example according to this embodiment is described below.

FIG. 3 shows a syntax example of the VUI included in the SPS. FIG. 4shows a syntax example of buffering period SEI included in the SPS. FIG.5 shows a syntax example of picture timing SEI which is assigned to eachaccess unit.

In this syntax example, a variable-interval flag(variable_sub_pic_removal_period_flag) that is information indicatingwhether the interval between extraction time points of the decodingunits in the access unit is the common-interval mode or thevariable-interval mode is stored into the buffering period SET. Here,the buffering period SEI is included in the SPS, for example, just as isthe VUI. In other words, the buffering period SEI is generated per setof pictures.

Furthermore, the image decoding apparatus determines the intervalbetween extraction time points using a parameter within the VUI in thecase of the common-interval mode and determines the interval betweenextraction time points using a parameter within the picture timing SEIin the case of the variable-interval mode.

In other words, the image coding apparatus defines the variable-intervalflag (variable_sub_pic_removal_period_flag) in the buffering period SEI.

When the unit-of-decoding flag (sub_pic_cpb_flag) is 1, the image codingapparatus may store, into the buffering period SEI, removal_time_offsetdefined in hrd_parameters( ) within the VUI.

Furthermore, the image coding apparatus may store, into the bufferingperiod SEI, a parameter (num_ctbs_in_subpicture_minus1 andpicture_interval) for determining a time point for extraction of adecoding unit from the CPB in the common-interval mode.

Next, a flow of the image decoding method which is performed by theimage decoding apparatus according to this embodiment is described.

FIG. 6A is a flowchart of the image decoding method according to thisembodiment.

First, the image decoding apparatus determines whether the coded data isextracted from the CPB per access unit or per decoding unit, based onthe value of the unit-of-decoding flag (sub_pic_cpb_flag) included inthe VUI (S101).

When the extraction from the CPB is performed per decoding unit (Yes inS102), the image decoding apparatus determines which of thecommon-interval mode and the variable-interval mode is the current mode,based on the value of the variable-interval flag(variable_sub_pic_removal_period_flag) included in the VUI (S103).

When the current mode is the common-interval mode (Yes in S104), theimage decoding apparatus determines an extraction time point of adecoding unit based on the parameter (num_ctbs_in_subpicture_minus1 andpicture_interval) included in the VUI (S105).

On the other hand, when the current mode is the variable-interval mode(No in S104), the image decoding apparatus determines an extraction timepoint of a decoding unit based on the parameter (cpb_removal_delay)included in the picture timing SEI (S106).

Furthermore, when the extraction from the CPB is performed per accessunit (No in S102), the image decoding apparatus determines an extractiontime point of an access unit based on a parameter included in thepicture timing SEI (S107).

Next, a flow of the image coding method which is performed by the imagecoding apparatus according to this embodiment is described.

FIG. 6B is a flowchart of an image coding method according to thisembodiment.

First, the image coding apparatus determines whether the coded data isextracted from the CPB per access unit or per decoding unit. The imagecoding apparatus then stores, into the VUI, the unit-of-decoding flag(sub_pic_cpb_flag) indicating a result of the determination (S201).

When the extraction from the CPB is performed per decoding unit (Yes inS202), the image coding apparatus determines which of thecommon-interval mode and the variable-interval mode is the current mode,and stores, into the VUI, the variable-interval flag(variable_sub_pic_removal_period_flag) indicating a result of thedetermination (S203).

When the current mode is the common-interval mode (Yes in S204), theimage coding apparatus determines an extraction time point of a decodingunit, and stores, into the VUI, the parameter(num_ctbs_in_subpicture_minus2 and picture_interval) indicating a resultof the determination (S205).

On the other hand, when the current mode is the variable-interval mode(No in S204), the image coding apparatus stores, into the picture timingSEI, the parameter (cpb_removal_delay) for determining an extractiontime point of a decoding unit (S206).

When the extraction from the CPB is performed per access unit (No inS202), the image coding apparatus stores, into the picture timing SEI,the parameter for determining an extraction time point of an access unit(S207).

It is to be noted that, according to instructions given from outside,the image coding apparatus selects a unit of extraction (per-access-unitextraction or per-decoding-unit extraction) of coded data from the CPB,selects the common-interval mode or the variable-interval mode,determines an extraction time point of a decoding unit, and determinesan extraction time point of an access unit, for example. In addition,the image coding apparatus may perform the selection or thedetermination according to information obtained from outside, propertiesof an input image, and the like.

Here, in the case where the common-interval mode is used, the imagecoding apparatus adjusts the coding process so that the amount of datain each decoding unit falls within a certain range. This allows areduction in the delay in the decoding process in the image decodingapparatus which is due to data in a certain decoding unit being large inamount. This means that the common-interval mode is useful for the casewhere real-time operation is demanded. On the other hand, in thevariable-interval mode, the image coding apparatus can adaptively changethe amount of data in a decoding unit as needed. By doing so, it ispossible to allocate a large amount of data to a decoding unit whichrequires a large amount of data in order to provide a certain degree ofimage quality, for example. This means that the variable-interval modeis useful for the case where priority is given to image quality.

Next, a structure of the image decoding apparatus according to thisembodiment is described.

FIG. 7A is a block diagram of the image decoding apparatus according tothis embodiment. As shown in FIG. 7A, the image decoding apparatus 300includes a CPB 301, an extraction time point determination unit 302, adecoder 303, and a DPB 304.

The CPB 301 is a buffer (memory) for temporarily storing the codedstream.

The external time point determination unit 302 determines a time pointof per-access-unit extraction from the CPB 301 and a time point ofper-decoding-unit extraction from the CPB 301.

The decoding unit 303 obtains coded data from the CPB 301 per accessunit or per decoding unit at the extraction time points determined bythe extraction time point determination unit 302, decodes the obtainedcoded data, and stores the resultant decoded data into the DPB 304.

The DPB 304 is a buffer (memory) for temporarily storing the decodeddata.

FIG. 7B is a block diagram of the extraction time point determinationunit 302. As shown in FIG. 7B, the extraction time point determinationunit 302 includes a unit-of-extraction judging unit 311, an access unitextraction time point determination unit 312, a mode judging unit 313, adecoding unit extraction time point determination unit 314, and anextraction time point transmission unit 315.

The unit-of-extraction judging unit 311 judges whether the coded data isextracted from the CPB 301 per access unit or per decoding unit.

The access unit extraction time point determination unit 312 determinesa time point for extraction of an access unit from the CPB 301 when thecoded data is extracted per access unit.

The mode judging unit 313 judges which of the common-interval mode andthe variable-interval mode is the current mode when the coded data isextracted per decoding unit.

The decoding unit extraction time point determination unit 314determines, using a result of the judgment made by the mode judging unit313, a time point for extraction of each of the decoding units includedin the access unit from the CPB 301.

The extraction time point transmission unit 315 transmits, to thedecoder 303, the extraction time point of the access unit determined bythe access unit extraction time point determination unit 312 or theextraction time point of the decoding unit determined by the decodingunit extraction time point determination unit 314.

FIG. 8A is a block diagram of the image coding apparatus according tothis embodiment. As shown in FIG. 8A, the image coding apparatus 400includes an extraction time point determination unit 402 and a coder403.

The extraction time point determination unit 402 determines, for theimage decoding apparatus, a time point of per-access-unit extractionfrom the CPB and a time point of per-decoding-unit extraction from theCPB.

The coder 403 codes an input image. Furthermore, the coder 403 codesinformation indicating a result of determination made by the extractiontime point determination unit 402. The coder 403 then generates a codedbitstream including the coded input image and the coded information.

FIG. 8B is a block diagram of the extraction time point determinationunit 402. As shown in FIG. 8B, the extraction time point determinationunit 402 includes a unit-of-extraction determination unit 411, an accessunit extraction time point determination unit 412, a mode determinationunit 413, and a decoding unit extraction time point determination unit414.

The unit-of-extraction determination unit 411 determines whether theextraction of the coded data from the CPB in the image decodingapparatus is performed per access unit or per decoding unit.

The access unit extraction time point determination unit 412 determinesa time point for extraction of an access unit from the CPB when thecoded data is extracted per access unit.

The mode determination unit 413 determines which of the common-intervalmode and the variable-interval mode is the current mode when the codeddata is extracted per decoding unit.

The decoding unit extraction time point determination unit 414determines, using a result of the determination made by the modedetermination unit 413, a time point for extraction of the coded data ofeach of the decoding units included in the access unit from the CPB.

A result of the determination by each of the above processing unit iscoded by the coder 403.

Next, SEI indicating a per-decoding-unit CPB extraction time point isdescribed.

In the case of the variable-interval mode, the image coding apparatus inthe above description stores, into the picture timing SEI, the CPBextraction time point of each of the decoding units included in theaccess.

However, in this configuration, since the code amount varies for eachdecoding unit, the image coding apparatus cannot determine the CPBextraction time point of each decoding unit until coding of all thedecoding units included in the access unit is completed. Thus, the imagecoding apparatus cannot determine the data of picture timing SEI untilcoding of the last decoding unit included in the access unit iscompleted. Furthermore, the picture timing SEI is in the decoding unitlocated first in the access unit when transmitted. As a result, theimage coding apparatus cannot sequentially transmit decoding units assoon as coding of each decoding unit is completed This leads toincreased delay on the transmission side especially when content istransmitted in real time.

Thus, SEI which stores the CPB extraction time point of each decodingunit is defined. With this SEI assigned to the decoding unit, the imagecoding apparatus can transmit data of the decoding unit as soon ascoding of the coding unit is completed.

FIG. 9 shows an example of a syntax of decoding unit CPB delay SEI thatis the SEI which stores a per-decoding-unit CPB extraction time point.

This SEI is valid when the extraction from the CPB is performed perdecoding unit in the variable-interval mode. Furthermore, this SEIindicates the CPB extraction time point of the decoding unit whichincludes this SEI and slice data (stored in a VCL NAL unit).

Specifically, this SEI includes du_cpb_removal_delay.du_cpb_removal_delay indicates the CPB extraction time point of thedecoding unit.

When the decoding unit CPB delay SEI is used, picture timing SEIindicates a per-access-unit CPB extraction time point and a DPBextraction time point. In other words, the per-decoding unit CPBextraction time point is managed by the decoding unit CPB delay SEI.

FIGS. 10 and 11 each show a structure example of the access unit.

As shown in FIG. 10, each decoding unit includes decoding unit CPB delaySEI and slice data. The decoding unit located first further includes anaccess unit delimiter and picture timing SEI. The access unit delimiterindicates the beginning of an access unit.

Just as the access unit delimiter, a NAL unit (decoding unit delimiter)indicating the beginning of a decoding unit may be introduced as shownin FIG. 11. The beginning of the decoding unit located first in theaccess unit may be indicated by the access unit delimiter.

The following describes a variation of the image coding method and theimage decoding method according to this embodiment.

In the common-interval mode, although the image coding apparatus stores,into the VUI, information indicating the interval between theper-decoding-unit CPB extraction time points in the example shown inFIGS. 1 and 2, the image coding apparatus may set, based onpredetermined common intervals, information on the CPB extraction timepoint in the picture timing SEI, instead of storing into the VUI theinformation indicating the time interval between the extraction timepoints. In this case, since the CPB extraction time points of thedecoding units included in the same sequence are constant, theinformation on the CPB extraction time point within the picture timingSEI is also constant. Accordingly, in the common-interval mode, theimage decoding apparatus parses the information on the CPB extractiontime point in the access unit located first in a sequence, and is ableto use, for the subsequent access units, the information on the CPBextraction time point obtained for the first access unit.

Although the decoding unit delimiter indicates a boundary of thedecoding units in the example of FIGS. 10 and 11, the decoding unitdelimiter does not need to be used when the number of NAL units of slicedata included in the decoding unit is fixed. In this case, the imagedecoding apparatus may judge a boundary of the decoding units based on aNAL unit of slice data. For example, the image coding apparatus providessuch setting that when there is one NAL unit of slice data included inthe decoding unit, the decoding unit located first in the access unitbegins with an access unit delimiter, and each of the second andsubsequent decoding units begins with a corresponding one of the secondand subsequent NAL units of slice data. By doing so, the image decodingapparatus can judge a boundary of the decoding units.

Next, a method for multiplexing packets into MPEG-2 TS is described.

Information indicating whether the coded data is extracted from the CPBper access unit or per decoding unit will affect system operations, suchas decoding and display, and therefore desirably be transmitted beforedecoding by a means different from the coded stream. In the case wherethe extraction is performed per decoding unit, the same applies toinformation indicating which of the common-interval mode and thevariable-interval mode is the current mode.

For example, the use of a descriptor enables transmission of theinformation as part of program information from the image codingapparatus to the image decoding apparatus. It is to be noted that, otherthan the method using a descriptor, stream_id or program_id that isdifferent between the case where the extraction is performed per accessunit and the case where the extraction is per decoding unit may be usedto transmit a unit of extraction from the image coding apparatus to theimage decoding apparatus.

FIG. 12 shows an example of this descriptor. In FIG. 12,sub_pic_cpb_removal_flag is a flag indicating whether the coded data isextracted from the CPB per access unit or per decoding unit. When thisflag is 1, the extraction is performed per decoding unit, and when thisflag is 0, the extraction is performed per access unit.

Meanwhile, variable_sub_pic_removal_period_flag is a flag indicatingwhether the decoding unit is extracted from the CPB in thecommon-interval mode or the variable-interval mode. When this flag is 1,the current mode is the variable-interval mode, and when this flag is 0,the current mode is the common-interval mode.

In addition, sub_pic_removal_period is valid only in the common-intervalmode. This sub_pic_removal_period indicates a difference between timepoints for extraction of consecutive decoding units from the CPB (aninterval between extraction time points of decoding units).

It is to be noted that, instead of transmitting information directlyindicating a difference between extraction time points to the imagedecoding apparatus, the image coding apparatus may transmit an intervalbetween decoding time stamps (DTSs) of access units consecutive indecoding order and the number of decoding units included in the accessunit. In this case, using the information, the image decoding apparatuscan obtain the difference by calculation.

Furthermore, the image coding apparatus may include the differencebetween the CPB extraction time points into coded data (such as SPS orpicture timing SEI) transmitted in the PES packets instead of includingthe difference into the descriptor. In this case, the image decodingapparatus obtains the difference between the CPB extraction time pointsfrom the SPS, the picture timing SEI, or the like.

Furthermore, the image coding apparatus may transmit, to the imagedecoding apparatus, information indicating whether or not the number ofdecoding units included in the access unit is fixed. Moreover, when thenumber of decoding units included in the access unit is fixed, the imagecoding apparatus may transmit, to the image decoding apparatus,information indicating the number of decoding units included in theaccess unit. By doing so, the image decoding apparatus can identify thelast decoding unit in the access unit, for example.

Furthermore, when the frame rate is fixed, the image decoding apparatuscan determine the CPB extraction time point of each decoding unit bydividing the interval between DTSs of frames by the number of decodingunits. By doing so, the image decoding apparatus can determine the CPBextraction time point of each decoding unit included in an access unitat the stage when the DTS of the access unit is obtained from the headerof the PES packet.

Here, in a PES packet in the MPEG-2 TS, the minimum unit to which adecoding time stamp (DTS) can be assigned is an access unit. Thus, theimage decoding apparatus obtains a DTS of the decoding unit from thedescriptor shown in FIG. 12 or information within the coded stream andtransmits the DTS to the decoder.

FIG. 13 is a block diagram of a system target decoder (STD) fortransmitting a DTS of the decoding unit.

This STD 500 is an example of the image decoding apparatus according tothis embodiment and includes a TS demultiplexer 501, a transport buffer(TB) 502, a multiplexing buffer (MB) 503, an elementary stream buffer(EB) 504, a decoder 505, a decoding unit extraction time pointdetermination unit 506, and a decoded picture buffer (DPB) 507.

The unit of extraction and the method of determining extraction timepoints are dependent on whether the extraction is performed per accessunit or per decoding unit.

When operating per access unit, the STD 500 operates based on DTSs ofthe PES packets, and when operating per decoding unit, the STD 500operates according to separately obtained extraction time points of thedecoding units.

When performing the extraction per decoding unit, the STD 500 uses, as aDTS of the PES packet, the extraction time point of the decoding unitlocated first in the access unit.

The TS demultiplexer 501 classifies data included in an input stream byfiltering it based on PIDs. Specifically, the TS demultiplexer 501outputs, to the decoding unit extraction time point determination unit506, program information such as a descriptor included in the inputstream. Furthermore, the TS demultiplexer 501 outputs a TS packetincluding coded data of HEVC to the TB 502. This coded data is input tothe decoder 505 and the decoding unit extraction time pointdetermination unit 506 through the MB 503 and the EB 504.

The decoding unit extraction time point determination unit 506 judges,based on information included in the descriptor or the like, whether theSTD 500 operates per decoding unit or per access unit. Furthermore, whenthe STD 500 operates per decoding unit, the decoding unit extractiontime point determination unit 506 obtains a DTS of a decoding unit andtransmits the DTS to the decoder 505.

Specifically, when the current mode is the common-interval mode, and thedescriptor indicates an interval T between the CPB extraction timepoints of the decoding units, the decoding unit extraction time pointdetermination unit 506 determines a DTS of the decoding unit based onthe interval T and the DTS of the access unit obtained from the PESpacket header.

On the other hand, when the current mode is the variable-interval mode,the decoding unit extraction time point determination unit 506 parsespicture timing SEI, decoding unit CPB delay SEI, or the like and therebydetermines a DTS of the decoding unit.

When operating per access unit, the STD 500 operates per access unitbased on DTSs of the PES packets or the like as it conventionally does.

The decoding unit 505 extracts the coded data included in the decodingunit from the EB 504 according to the extraction time point of thedecoding unit transmitted from the decoding unit extraction time pointdetermination unit 506.

Furthermore, the decoding unit 505 determines a boundary of decodingunits based on the decoding unit delimiter or the starting position of aNAL unit storing slice data.

It is to be noted that the decoding unit extraction time pointdetermination unit 506 may also detect the boundary of decoding unitsand transmit a data size of the decoding unit to the decoder 505. Inthis case, the decoder 505 extracts the data for the transmitted datasize from the EB 504.

The DPB 507 stores the decoded data generated by the decoder 505.

It is to be noted that the operation of the image coding apparatus is asdescribed above except that various information is stored into adescriptor.

The following describes a variation of the method of setting a DTS ofthe PES packet.

When using the DTS of the PES packet as a CPB extraction time point(=DTS) of the decoding unit located first, the image decoding apparatusfails to ensure the compatibility with a receiver which does not supportthe per-decoding unit operation. Thus, the image decoding apparatus usesthe DTS of the PES packet as a DTS of an access unit as itconventionally does. Furthermore, it may be that the image codingapparatus stores DTS information on the decoding unit into an extendedregion of the PES packet header and the image decoding apparatus usesthe DTS information.

For example, in the extended region, the image coding apparatus maylist, in decoding order, DTSs of the decoding units included in theaccess unit, or may store information indicating a difference betweenthe DTS of each decoding unit and the DTS of the PES packet.

Furthermore, in the common-interval mode, the image coding apparatus maystore, into the extended region, only information indicating the DTS ofthe decoding unit located first in the access unit.

Furthermore, using the DTS included in the PES packet as the DTS of theaccess unit, the image decoding apparatus may parse the coded stream andthereby obtain a DTS of the decoding unit.

Furthermore, when the extraction is performed per decoding unit, theimage coding apparatus may assign a DTS to the PES packet per decodingunit. In this case, the decoding unit extraction time pointdetermination unit 506 can determine a DTS of a decoding unit byreferring to the DTS stored in the header of the PES packet.

The following describes an effect obtained when the extraction from theCPB is performed per decoding unit.

FIG. 14A shows a transition of coded data in buffer occupancy of the EB504 which is seen in the case where the extraction is performed peraccess unit. FIG. 14B shows a transition of coded data in bufferoccupancy of the EB 504 which is seen in the case where the extractionis performed per decoding unit.

As shown in FIG. 14B, when the extraction is performed per decodingunit, the coed data of the decoding units is sequentially extracted,with the result that the buffer occupancy of the EB 504 is low ascompared to the case shown in FIG. 14A where the extraction is performedper access unit. Thus, when the extraction from CPB is performed perdecoding unit, the EB 504 can be reduced in size as compared to that inthe case of per access unit.

It is to be noted that the image coding apparatus may include, into adescriptor or the like, information indicating the EB size necessary toperform the extraction per decoding unit, and transmit the informationto the image decoding apparatus. With this, the image decoding apparatuscan provide the EB 504 based on the EB size.

The following describes a method of calculating an interval between timepoints for extraction of the decoding units from the CPB in the imagedecoding apparatus.

The image decoding apparatus uses, as the interval between extractiontime points in the common-interval mode, a value obtained by dividingthe interval (picture_interval) between DTSs of two access unitsconsecutive in decoding order by the number(num_ctbs_in_subpicture_minus1) of decoding units included in eachaccess unit.

For example, when the interval between the DTSs of access units is 50msec and each access unit includes five decoding units, the intervalbetween extraction time points of decoding units is defined by 50/5=10msec.

It is to be noted that, when the frame rate of the access units isfixed, the image decoding apparatus can determine an interval betweenextraction time points of decoding units based on the frame rate and thenumber of decoding units. Thus, in this case, it may be that the imagecoding apparatus skips transmitting the interval between extraction timepoints and the image decoding apparatus obtains the interval betweenextraction time points by calculation.

However, in the case where the frame rate is variable, the intervalbetween extraction time points cannot be uniquely determined from theframe rate. Thus, the image coding apparatus includes, into the MPEG-2TS or the coded stream, information indicating the interval betweenextraction time points and transmits it.

The following describes a case of applying this embodiment tomultiplexing schemes other than the MPEG-2 TS.

The multiplexing schemes include, other than the MPEG-2 TS, the MP4 thatis common for downloading and the real-time transport protocol (RTP)that is widely used for streaming, and the coded stream according tothis embodiment is available in these multiplexing schemes.

First, the case of using the MP4 for the coded stream according to thisembodiment is described.

The image coding apparatus stores the information described in thedescriptor in the MPEG-2 TS into a box having a structure defined in theMP4. Specifically, the image coding apparatus stores the aboveinformation into, for example, a box which stores initializationinformation for use in decoding of coded data. Furthermore, when theextraction from the CPB is performed per decoding unit, the image codingapparatus may store information indicating the DTS of each decoding unitinto the box.

Furthermore, in the MP4, a unit called sample which corresponds to theaccess unit is used. The image coding apparatus may store, in additionto address information of each sample, address information for accessinga decoding unit included in the sample.

Next, the case of using the RTP for the coded stream according to thisembodiment is described.

By the image coding apparatus, the information described in thedescriptor in the MPEG-2 TS is described in a payload header of an RTPpacket or in a session description protocol (SDP), a session initialprotocol (SIP), or the like which is used to exchange supplementaryinformation on the RTP communication.

It is to be noted that the image coding apparatus may switch a unit ofpacketization according to whether the extraction from the CPB isperformed per access unit or per decoding unit. For example, in the casewhere the extraction is performed per decoding unit, the image codingapparatus transmits one decoding unit as one RTP packet. Furthermore,the image coding apparatus transmits, to the image decoding apparatus,information indicating the unit of packetization using the supplementaryinformation such as the SDP.

Furthermore, according to a unit of extraction from the CPB, the imagecoding apparatus may switch a method of storing the DTS which is to bedescribed in the payload header of the RTP packet. For example, theimage coding apparatus assigns a DTS per access unit in the case wherethe extraction is performed per access unit, and assigns a DTS perdecoding unit in the case where the extraction is performed per decodingunit.

Furthermore, when the extraction is performed per decoding unit and thecurrent mode is the common-interval mode, the image coding apparatus mayindicate a DTS only for the decoding unit located first in the accessunit. In this case, the image decoding apparatus uses a default intervalfor the subsequent decoding units, for example. This allows a reductionin the code amount necessary to transmit the DTSs.

As above, in the image decoding method according to this embodiment, thecoded data is decoded for each of one or more units (per decoding unit)included in a picture (an access unit). As shown in FIG. 15, the imagedecoding apparatus obtains, from the coded stream including the codeddata, a first flag (a unit-of-decoding flag) indicating whether aremoval time of the coded data from the buffer (CPB) for storing thecoded data is set per unit (S121).

Next, when the removal time of the coded data is set per unit, the imagedecoding apparatus obtains, from the coded bitstream, a second flag (avariable-interval flag) indicating whether an interval between theremoval times of the units is constant or arbitrary (S122).

Next, the image decoding apparatus removes the coded data from thebuffer per decoding unit and at a constant or arbitrary intervalaccording to the second flag (S124 and S125). Specifically, when thesecond flag indicates that the interval is arbitrary (Yes in S123), theimage decoding apparatus removes the coded data of the decoding units atvariable intervals (S124). When the second flag indicates that theinterval is constant (No in S123), the image decoding apparatus removesthe coded data of the decoding units at common intervals (S125).

The image decoding apparatus then decodes the coded data of the decodingunits removed in Step S124 or S125 (S126).

By doing so, when the time interval is constant, for example, the imagedecoding apparatus can determine time intervals of decoding units basedon one common interval. This allows a reduction in the processing loadof the image decoding apparatus.

Furthermore, in the image coding method according to an exemplaryembodiment disclosed herein, one or more units (decoding units) includedin a picture (an access unit) is coded. As shown in FIG. 16, the imagecoding apparatus generates the first flag (the unit-of-decoding flag)indicating whether or not a removal time of the coded data by thehypothetical reference decoder from the buffer (CPB) for storing thecoded data is set per unit (S221). Next, the image coding apparatusgenerates a second flag (a variable-interval flag) indicating whetherthe interval between the removal times of the coded data is constant orarbitrary (S222). Next, the image coding apparatus generates the codedbitstream including the coded data, the first flag, and the second flag(S223).

Furthermore, as described above, the image coding apparatus generatesthe second flag per picture group including one or more pictures.Moreover, the image coding apparatus includes the second flag intoper-picture-group control information (a header) which is included inthe coded bitstream and provided per picture group. This means that theimage decoding apparatus obtains the second flag from theper-picture-group control information.

Here, the picture group is a unit of pictures (a sequence), for example.The per-picture-group control information is an SPS and morespecifically is VUI included in the SPS. It is to be noted that theper-picture-group control information may be a descriptor in the MPEG-2TS.

Furthermore, when the second flag indicates that the interval isconstant (the common-interval mode), the image coding apparatusgenerates common-interval information indicating an interval which iscommon. Here, the common-interval information indicates, for example,the number (num_ctbs_in_subpicture_minus1) of decoding units included inone picture (an access unit), and the time interval between pictures(picture_interval). Using the number of decoding units and the timeinterval between pictures, the image decoding apparatus calculates aninterval which is common, and removes the coded data from the buffer perdecoding unit and at the calculated interval.

Furthermore, the image coding apparatus includes, just as the secondflag, the common-interval information into the per-picture-group controlinformation (e.g., the VUI). This means that, when the second flagindicates that the interval is constant (the common-interval mode), theimage decoding apparatus obtains, from the per-picture-group controlinformation, the common-interval information indicating the interval.Furthermore, when the second flag indicates that the interval is common(the common-interval mode), the image decoding apparatus removes thecoded data from the buffer per decoding unit and at the common intervalindicated in the common-interval information. It is to be noted that theimage coding apparatus may include the common-interval information intoper-picture control information (e.g., picture timing SEI) which isprovided per picture. This means that, when the second flag indicatesthat the interval is constant (the common-interval mode), the imagedecoding apparatus obtains the common-interval information indicatingthe interval from the per-picture control information.

When the second flag indicates that the time interval is arbitrary (thevariable-interval mode), the image coding apparatus generatesvariable-interval information (cpb_removal_delay) indicating intervalsbetween the removal times of the decoding units. Furthermore, the imagecoding apparatus includes this variable-interval information intoper-picture control information (e.g., picture timing SEI) which isincluded in the coded bitstream and provided per picture. This meansthat, when the second flag indicates that the interval is arbitrary (thevariable-interval mode), the image decoding apparatus obtains thevariable-interval information from the per-picture control information.The image decoding apparatus then removes the coded data from the bufferper decoding unit and at the intervals indicated in thevariable-interval information.

It is to be noted that the image coding apparatus may include thisvariable-interval information into the per-unit control information(e.g., decoding unit CPB delay SEI) which is included in the codedstream and provided per decoding unit. This means that the imagedecoding apparatus may obtain the variable-interval information from theper-decoding-unit control information.

The coded bitstream includes a transport stream (TS) and a descriptor,and the image coding apparatus may include the second flag into thedescriptor. This means that the image decoding apparatus may obtain thesecond flag from the descriptor.

The following describes basic structures of the coder 403 included inthe image coding apparatus and the decoder 303 or 505 included in theimage decoding apparatus.

FIG. 17 is a block diagram of a coder 100 that is an example of thecoder 403. This coder 100 codes, for example, audio data and video dataat a low bit-rate.

The coder 100 shown in FIG. 17 codes an input image signal 101 togenerate a coded signal 191. The coder 100 includes a subtractor 110, atransforming unit 120, a quantization unit 130, an inverse quantizationunit 140, an inverse transforming unit 150, an adder 160, a memory 170,a prediction unit 180, and an entropy coder 190.

The subtractor 110 subtracts a prediction signal 181 from the inputimage signal 101 to generate a prediction error signal 111 (transforminput signal), and provides the generated prediction error signal 111 tothe transforming unit 120.

The transforming unit 120 performs frequency transform on the predictionerror signal 111 to generate a transform output signal 121. Morespecifically, the transforming unit 120 transforms, from atemporal-spatial domain to a frequency domain, the prediction errorsignal 111 or the transform input signal generated by performing certainprocessing on the prediction error signal 111. As a result, thetransforming unit 120 generates the transform output signal 121 havingdecreased correlation.

The quantization unit 130 quantizes the transform output signal 121,thereby generating a quantization coefficient 131 having a small totalamount of data.

The entropy coder 190 codes the quantization coefficient 131 by using anentropy coding algorithm, thereby generating a coded signal 191 havingfurther compressed redundancy.

The inverse quantization unit 140 inversely quantizes the quantizationcoefficient 131 to generate a decoded transform output signal 141. Theinverse transforming unit 150 inversely transforms the decoded transformoutput signal 141 to generate a decoded transform input signal 151.

The adder 160 adds up the decoded transform input signal 151 and aprediction signal 181 to generate a decoded signal 161. The memory 170stores the decoded signal 161.

The prediction unit 180 obtains a predetermined signal from the memory170 according to a prediction method such as intra prediction or interprediction, and generates a prediction signal 181 according to apredetermined method based on the prediction method. More specifically,the prediction unit 180 determines the prediction method to achieve amaximum coding efficiency, and generates the prediction signal 181according to the determined prediction method. Furthermore, the entropycoder 190 performs entropy coding on the information indicating theprediction method, as needed.

Here, the inverse quantization unit 140, the inverse transforming unit150, the adder 160, the memory 170, and the prediction unit 180 areincluded also in the image decoding apparatus. The decoded signal 161corresponds to a reproduced image signal (decoded signal 261) generatedby the image decoding apparatus.

FIG. 18 is a block diagram of a decoder 200 that is an example of thedecoders 303 and 505. The decoder 200 shown in FIG. 18 decodes a codedsignal 191 to generate a decoded signal 261. The decoder 200 includes aninverse quantization unit 240, an inverse transforming unit 250, anadder 260, a memory 270, a prediction unit 280, and an entropy decoder290.

The entropy decoder 290 performs entropy decoding on the coded signal191 to generate a quantization coefficient 231 and a prediction method291.

The inverse quantization unit 240 inversely quantizes the quantizationcoefficient 231 to generate a decoded transform output signal 241. Theinverse transforming unit 250 inversely transforms the decoded transformoutput signal 241 to generate a decoded transform input signal 251.

The adder 260 adds up the decoded transform input signal 251 and aprediction signal 281 to generate a decoded signal 261. The decodedsignal 261 is a reproduced image generated by the decoder 200. Thedecoded signal 261 is outputted as an output signal of the image decoder200, and also stored into the memory 270.

The prediction unit 280 obtains a predetermined signal from the memory270 according to the prediction method 291, and generates a predictionsignal 281 according to a predetermined method based on the predictionmethod 291.

Although the above describes the image coding apparatus and the imagedecoding apparatus according to the embodiment, this embodiment isdescriptive and illustrative only, and the appended Claims are of ascope intended to cover and encompass not only the particular embodimentdisclosed, but also equivalent structures, methods, and/or uses.

Furthermore, each of the processing units included in the image codingapparatus and the image decoding apparatus according to the aboveembodiment is typically implemented as a large-scale integration (LSI)that is an integrated circuit. Components may be each formed into asingle chip, and it is also possible to integrate part or all of thecomponents in a single chip.

This circuit integration is not limited to the LSI and may be achievedby providing a dedicated circuit or using a general-purpose processor.It is also possible to utilize a field programmable gate array (FPGA),with which the LSI is programmable after manufacture, or areconfigurable processor, with which connections, settings, etc., ofcircuit cells in the LSI are reconfigurable.

Each of the structural elements in the above embodiment may beconfigured in the form of dedicated hardware, or may be realized byexecuting a software program suitable for the structural element. Eachof the structural elements may be realized by means of a programexecuting unit, such as a CPU and a processor, reading and executing thesoftware program recorded on a recording medium such as a hard disk or asemiconductor memory.

In other words, the image coding apparatus or the image decodingapparatus includes control circuitry and storage accessible from thecontrol circuitry (i.e., accessible by the control circuitry). Thecontrol circuitry includes at least one of dedicated hardware and aprogram executing unit. In the case where the control circuitry includesthe program executing unit, the storage stores a software program whichis executed by the program executing unit.

Furthermore, these general and specific aspects may be implemented usingthe above software program or a computer-readable non-transitoryrecording medium on which the above program has been recorded. It goeswithout saying that the above program may be distributed via acommunication network such as the Internet.

The numerals herein are all given to specifically illustrate the scopeof the appended Claims and therefore do not limit it.

The segmentation of the functional blocks in each block diagram is anexample, and some of the functional blocks may be implemented as onefunctional block while one functional block may be divided into pluralparts, or part of the function of one functional block may be shifted toanother functional block. Furthermore, the functions of a plurality offunctional blocks which have similar functions may be processed inparallel or in time-sliced fashion by single hardware or software.

The processing order of the steps included in the above image coding ordecoding method is given to specifically illustrate the scope of theappended Claims and therefore may be any other order. Part of the abovesteps may be performed at the same time as (in parallel with) anotherstep.

The herein disclosed subject matter is to be considered descriptive andillustrative only, the appended Claims are of a scope intended to coverand encompass not only the particular embodiment disclosed, but alsoequivalent structures, methods, and/or uses.

Embodiment 2

The processing described in the above embodiment can be simplyimplemented in an independent computer system, by recording, in arecording medium, a program for implementing the configurations of themoving picture coding method (image coding method) or the moving picturedecoding method (image decoding method) described in the aboveembodiment. The recording media may be any recording media as long asthe program can be recorded, such as a magnetic disk, an optical disk, amagnetic optical disk, an IC card, and a semiconductor memory.

Hereinafter, the applications to the moving picture coding method (imagecoding method) and the moving picture decoding method (image decodingmethod) described in the above embodiment and systems using thereof willbe described. The system has a feature of having an image coding anddecoding apparatus that includes an image coding apparatus using theimage coding method and an image decoding apparatus using the imagedecoding method. Other configurations in the system can be changed asappropriate depending on the cases.

FIG. 19 illustrates an overall configuration of a content providingsystem ex100 for implementing content distribution services. The areafor providing communication services is divided into cells of desiredsize, and base stations ex107, ex108, ex109, and ex110 which are fixedwireless stations are placed in each of the cells.

The content providing system ex100 is connected to devices, such as acomputer ex111, a personal digital assistant (PDA) ex112, a cameraex113, a cellular phone ex114 and a game machine ex115, via the Internetex101, an Internet service provider ex102, a telephone network ex104, aswell as the base stations ex106 to ex110, respectively.

However, the configuration of the content providing system ex100 is notlimited to the configuration shown in FIG. 19, and a combination inwhich any of the elements are connected is acceptable. In addition, eachdevice may be directly connected to the telephone network ex104, ratherthan via the base stations ex106 to ex110 which are the fixed wirelessstations. Furthermore, the devices may be interconnected to each othervia a short distance wireless communication and others.

The camera ex113, such as a digital video camera, is capable ofcapturing video. A camera ex116, such as a digital video camera, iscapable of capturing both still images and video. Furthermore, thecellular phone ex114 may be the one that meets any of the standards suchas Global System for Mobile Communications (GSM) (registered trademark),Code Division Multiple Access (CDMA), Wideband-Code Division MultipleAccess (W-CDMA), Long Term Evolution (LTE), and High Speed Packet Access(HSPA). Alternatively, the cellular phone ex114 may be a PersonalHandyphone System (PHS).

In the content providing system ex100, a streaming server ex103 isconnected to the camera ex113 and others via the telephone network ex104and the base station ex109, which enables distribution of images of alive show and others. In such a distribution, a content (for example,video of a music live show) captured by the user using the camera ex113is coded as described above in the above embodiment (i.e., the camerafunctions as the image coding apparatus according to an aspect of thepresent disclosure), and the coded content is transmitted to thestreaming server ex103. On the other hand, the streaming server ex103carries out stream distribution of the transmitted content data to theclients upon their requests. The clients include the computer ex111, thePDA ex112, the camera ex113, the cellular phone ex114, and the gamemachine ex115 that are capable of decoding the above-mentioned codeddata. Each of the devices that have received the distributed datadecodes and reproduces the coded data (i.e., functions as the imagedecoding apparatus according to an aspect of the present disclosure).

The captured data may be coded by the camera ex113 or the streamingserver ex103 that transmits the data, or the coding processes may beshared between the camera ex113 and the streaming server ex103.Similarly, the distributed data may be decoded by the clients or thestreaming server ex103, or the decoding processes may be shared betweenthe clients and the streaming server ex103. Furthermore, the data of thestill images and video captured by not only the camera ex113 but alsothe camera ex116 may be transmitted to the streaming server ex103through the computer ex111. The coding processes may be performed by thecamera ex116, the computer ex111, or the streaming server ex103, orshared among them.

Furthermore, the coding and decoding processes may be performed by anLSI ex500 generally included in each of the computer ex111 and thedevices. The LSI ex500 may be configured of a single chip or a pluralityof chips. Software for encoding and decoding video may be synthesizedinto some type of a recording medium (such as a CD-ROM, a flexible disk,and a hard disk) that is readable by the computer ex111 and others, andthe coding and decoding processes may be performed using the software.Furthermore, when the cellular phone ex114 is equipped with a camera,the video data obtained by the camera may be transmitted. The video datais data coded by the LSI ex500 included in the cellular phone ex114.

Furthermore, the streaming server ex103 may be composed of servers andcomputers, and may decentralize data and process the decentralized data,record, or distribute data.

As described above, the clients may receive and reproduce the coded datain the content providing system ex100. In other words, the clients canreceive and decode information transmitted by the user, and reproducethe decoded data in real time in the content providing system ex100, sothat the user who does not have any particular right and equipment canimplement personal broadcasting.

Aside from the example of the content providing system ex100, at leastone of the moving picture coding apparatus (image coding apparatus) andthe moving picture decoding apparatus (image decoding apparatus)described in the above embodiment may be implemented in a digitalbroadcasting system ex200 illustrated in FIG. 20. More specifically, abroadcast station ex201 communicates or transmits, via radio waves to abroadcast satellite ex202, multiplexed data obtained by multiplexingaudio data and others onto video data. The video data is data coded bythe moving picture coding method described in the above embodiment(i.e., data coded by the image coding apparatus according to an aspectof the present disclosure). Upon receipt of the multiplexed data, thebroadcast satellite ex202 transmits radio waves for broadcasting. Then,a home-use antenna ex204 with a satellite broadcast reception functionreceives the radio waves. Next, a device such as a television (receiver)ex300 and a set top box (STB) ex217 decodes the received multiplexeddata, and reproduces the decoded data (i.e., functions as the imagedecoding apparatus according to an aspect of the present disclosure).

Furthermore, a reader/recorder ex218 (i) reads and decodes themultiplexed data recorded on a recording media ex215, such as a DVD anda BD, or (ii) codes video signals in the recording medium ex215, and insome cases, writes data obtained by multiplexing an audio signal on thecoded data. The reader/recorder ex218 can include the moving picturedecoding apparatus or the moving picture coding apparatus as shown inthe above embodiment. In this case, the reproduced video signals aredisplayed on the monitor ex219, and can be reproduced by another deviceor system using the recording medium ex215 on which the multiplexed datais recorded. It is also possible to implement the moving picturedecoding apparatus in the set top box ex217 connected to the cable ex203for a cable television or to the antenna ex204 for satellite and/orterrestrial broadcasting, so as to display the video signals on themonitor ex219 of the television ex300. The moving picture decodingapparatus may be implemented not in the set top box but in thetelevision ex300.

FIG. 21 illustrates the television (receiver) ex300 that uses the movingpicture coding method and the moving picture decoding method describedin the above embodiment. The television ex300 includes: a tuner ex301that obtains or provides multiplexed data obtained by multiplexing audiodata onto video data, through the antenna ex204 or the cable ex203, etc.that receives a broadcast; a modulation/demodulation unit ex302 thatdemodulates the received multiplexed data or modulates data intomultiplexed data to be supplied outside; and amultiplexing/demultiplexing unit ex303 that demultiplexes the modulatedmultiplexed data into video data and audio data, or multiplexes videodata and audio data coded by a signal processing unit ex306 into data.

The television ex300 further includes: a signal processing unit ex306including an audio signal processing unit ex304 and a video signalprocessing unit ex305 that decode audio data and video data and codeaudio data and video data, respectively (which function as the imagecoding apparatus and the image decoding apparatus according to theaspects of the present disclosure); and an output unit ex309 including aspeaker ex307 that provides the decoded audio signal, and a display unitex308 that displays the decoded video signal, such as a display.Furthermore, the television ex300 includes an interface unit ex317including an operation input unit ex312 that receives an input of a useroperation. Furthermore, the television ex300 includes a control unitex310 that controls overall each constituent element of the televisionex300, and a power supply circuit unit ex311 that supplies power to eachof the elements. Other than the operation input unit ex312, theinterface unit ex317 may include: a bridge ex313 that is connected to anexternal device, such as the reader/recorder ex218; a slot unit ex314for enabling attachment of the recording medium ex216, such as an SDcard; a driver ex315 to be connected to an external recording medium,such as a hard disk; and a modem ex316 to be connected to a telephonenetwork. Here, the recording medium ex216 can electrically recordinformation using a non-volatile/volatile semiconductor memory elementfor storage. The constituent elements of the television ex300 areconnected to each other through a synchronous bus.

First, the configuration in which the television ex300 decodesmultiplexed data obtained from outside through the antenna ex204 andothers and reproduces the decoded data will be described. In thetelevision ex300, upon a user operation through a remote controllerex220 and others, the multiplexing/demultiplexing unit ex303demultiplexes the multiplexed data demodulated by themodulation/demodulation unit ex302, under control of the control unitex310 including a CPU. Furthermore, the audio signal processing unitex304 decodes the demultiplexed audio data, and the video signalprocessing unit ex305 decodes the demultiplexed video data, using thedecoding method described in the above embodiment, in the televisionex300. The output unit ex309 provides the decoded video signal and audiosignal outside, respectively. When the output unit ex309 provides thevideo signal and the audio signal, the signals may be temporarily storedin buffers ex318 and ex319, and others so that the signals arereproduced in synchronization with each other. Furthermore, thetelevision ex300 may read multiplexed data not through a broadcast andothers but from the recording media ex215 and ex216, such as a magneticdisk, an optical disk, and a SD card. Next, a configuration in which thetelevision ex300 codes an audio signal and a video signal, and transmitsthe data outside or writes the data on a recording medium will bedescribed. In the television ex300, upon a user operation through theremote controller ex220 and others, the audio signal processing unitex304 codes an audio signal, and the video signal processing unit ex305codes a video signal, under control of the control unit ex310 using thecoding method described in the above embodiment. Themultiplexing/demultiplexing unit ex303 multiplexes the coded videosignal and audio signal, and provides the resulting signal outside. Whenthe multiplexing/demultiplexing unit ex303 multiplexes the video signaland the audio signal, the signals may be temporarily stored in thebuffers ex320 and ex321, and others so that the signals are reproducedin synchronization with each other. Here, the buffers ex318, ex319,ex320, and ex321 may be plural as illustrated, or at least one buffermay be shared in the television ex300. Furthermore, although notillustrated, data may be stored in a buffer so that the system overflowand underflow may be avoided between the modulation/demodulation unitex302 and the multiplexing/demultiplexing unit ex303, for example.

Furthermore, the television ex300 may include a configuration forreceiving an AV input from a microphone or a camera other than theconfiguration for obtaining audio and video data from a broadcast or arecording medium, and may code the obtained data. Although thetelevision ex300 can code, multiplex, and provide outside data in thedescription, it may be capable of only receiving, decoding, andproviding outside data but not the encoding, multiplexing, and providingoutside data.

Furthermore, when the reader/recorder ex218 reads or writes multiplexeddata from or on a recording medium, one of the television ex300 and thereader/recorder ex218 may decode or encode the multiplexed data, and thetelevision ex300 and the reader/recorder ex218 may share the decoding orencoding.

As an example, FIG. 22 illustrates a configuration of an informationreproducing/recording unit ex4000 when data is read or written from oron an optical disk. The information reproducing/recording unit ex400includes constituent elements ex401, ex402, ex403, ex404, ex405, ex406,and ex407 to be described hereinafter. The optical head ex401 irradiatesa laser spot in a recording surface of the recording medium ex215 thatis an optical disk to write information, and detects reflected lightfrom the recording surface of the recording medium ex215 to read theinformation. The modulation recording unit ex402 electrically drives asemiconductor laser included in the optical head ex401, and modulatesthe laser light according to recorded data. The reproductiondemodulating unit ex403 amplifies a reproduction signal obtained byelectrically detecting the reflected light from the recording surfaceusing a photo detector included in the optical head ex401, anddemodulates the reproduction signal by separating a signal componentrecorded on the recording medium ex215 to reproduce the necessaryinformation. The buffer ex404 temporarily holds the information to berecorded on the recording medium ex215 and the information reproducedfrom the recording medium ex215. The disk motor ex405 rotates therecording medium ex215. The servo control unit ex406 moves the opticalhead ex401 to a predetermined information track while controlling therotation drive of the disk motor ex405 so as to follow the laser spot.The system control unit ex407 controls overall the informationreproducing/recording unit ex400. The reading and writing processes canbe implemented by the system control unit ex407 using variousinformation stored in the buffer ex404 and generating and adding newinformation as necessary, and by the modulation recording unit ex402,the reproduction demodulating unit ex403, and the servo control unitex406 that record and reproduce information through the optical headex401 while being operated in a coordinated manner. The system controlunit ex407 includes, for example, a microprocessor, and executesprocessing by causing a computer to execute a program for read andwrite.

Although the optical head ex401 irradiates a laser spot in thedescription, it may perform high-density recording using near fieldlight.

FIG. 23 illustrates the recording medium ex215 that is the optical disk.On the recording surface of the recording medium ex215, guide groovesare spirally formed, and an information track ex230 records, in advance,address information indicating an absolute position on the diskaccording to change in a shape of the guide grooves. The addressinformation includes information for determining positions of recordingblocks ex231 that are a unit for recording data. Reproducing theinformation track ex230 and reading the address information in anapparatus that records and reproduces data can lead to determination ofthe positions of the recording blocks. Furthermore, the recording mediumex215 includes a data recording area ex233, an inner circumference areaex232, and an outer circumference area ex234. The data recording areaex233 is an area for use in recording the user data. The innercircumference area ex232 and the outer circumference area ex234 that areinside and outside of the data recording area ex233, respectively arefor specific use except for recording the user data. The informationreproducing/recording unit 400 reads and writes coded audio, coded videodata, or multiplexed data obtained by multiplexing the coded audio andvideo data, from and on the data recording area ex233 of the recordingmedium ex215.

Although an optical disk having a layer, such as a DVD and a BD isdescribed as an example in the description, the optical disk is notlimited to such, and may be an optical disk having a multilayerstructure and capable of being recorded on a part other than thesurface. Furthermore, the optical disk may have a structure formultidimensional recording/reproduction, such as recording ofinformation using light of colors with different wavelengths in the sameportion of the optical disk and for recording information havingdifferent layers from various angles.

Furthermore, a car ex210 having an antenna ex205 can receive data fromthe satellite ex202 and others, and reproduce video on a display devicesuch as a car navigation system ex211 set in the car ex210, in thedigital broadcasting system ex200. Here, a configuration of the carnavigation system ex211 will be a configuration, for example, includinga GPS receiving unit from the configuration illustrated in FIG. 21. Thesame will be true for the configuration of the computer ex111, thecellular phone ex114, and others.

FIG. 24A illustrates the cellular phone ex114 that uses the movingpicture coding method and the moving picture decoding method describedin the above embodiment. The cellular phone ex114 includes: an antennaex350 for transmitting and receiving radio waves through the basestation ex110; a camera unit ex365 capable of capturing moving and stillimages; and a display unit ex358 such as a liquid crystal display fordisplaying the data such as decoded video captured by the camera unitex365 or received by the antenna ex350. The cellular phone ex114 furtherincludes: a main body unit including an operation key unit ex366; anaudio output unit ex357 such as a speaker for output of audio; an audioinput unit ex356 such as a microphone for input of audio; a memory unitex367 for storing captured video or still pictures, recorded audio,encoded or decoded data of the received video, the still pictures,e-mails, or others; and a slot unit ex364 that is an interface unit fora recording medium that stores data in the same manner as the memoryunit ex367.

Next, an example of a configuration of the cellular phone ex114 will bedescribed with reference to FIG. 24B. In the cellular phone ex114, amain control unit ex360 designed to control overall each unit of themain body including the display unit ex358 as well as the operation keyunit ex366 is connected mutually, via a synchronous bus ex370, to apower supply circuit unit ex361, an operation input control unit ex362,a video signal processing unit ex355, a camera interface unit ex363, aliquid crystal display (LCD) control unit ex359, amodulation/demodulation unit ex352, a multiplexing/demultiplexing unitex353, an audio signal processing unit ex354, the slot unit ex364, andthe memory unit ex367.

When a call-end key or a power key is turned ON by a user's operation,the power supply circuit unit ex361 supplies the respective units withpower from a battery pack so as to activate the cell phone ex114.

In the cellular phone ex114, the audio signal processing unit ex354converts the audio signals collected by the audio input unit ex356 invoice conversation mode into digital audio signals under the control ofthe main control unit ex360 including a CPU, ROM, and RAM. Then, themodulation/demodulation unit ex352 performs spread spectrum processingon the digital audio signals, and the transmitting and receiving unitex351 performs digital-to-analog conversion and frequency conversion onthe data, so as to transmit the resulting data via the antenna ex350.Also, in the cellular phone ex114, the transmitting and receiving unitex351 amplifies the data received by the antenna ex350 in voiceconversation mode and performs frequency conversion and theanalog-to-digital conversion on the data. Then, themodulation/demodulation unit ex352 performs inverse spread spectrumprocessing on the data, and the audio signal processing unit ex354converts it into analog audio signals, so as to output them via theaudio output unit ex357.

Furthermore, when an e-mail in data communication mode is transmitted,text data of the e-mail inputted by operating the operation key unitex366 and others of the main body is sent out to the main control unitex360 via the operation input control unit ex362. The main control unitex360 causes the modulation/demodulation unit ex352 to perform spreadspectrum processing on the text data, and the transmitting and receivingunit ex351 performs the digital-to-analog conversion and the frequencyconversion on the resulting data to transmit the data to the basestation ex110 via the antenna ex350. When an e-mail is received,processing that is approximately inverse to the processing fortransmitting an e-mail is performed on the received data, and theresulting data is provided to the display unit ex358.

When video, still images, or video and audio in data communication modeis or are transmitted, the video signal processing unit ex355 compressesand codes video signals supplied from the camera unit ex365 using themoving picture coding method shown in the above embodiment (i.e.,functions as the image coding apparatus according to the aspect of thepresent disclosure), and transmits the coded video data to themultiplexing/demultiplexing unit ex353. In contrast, during when thecamera unit ex365 captures video, still images, and others, the audiosignal processing unit ex354 codes audio signals collected by the audioinput unit ex356, and transmits the coded audio data to themultiplexing/demultiplexing unit ex353.

The multiplexing/demultiplexing unit ex353 multiplexes the coded videodata supplied from the video signal processing unit ex355 and the codedaudio data supplied from the audio signal processing unit ex354, using apredetermined method. Then, the modulation/demodulation unit(modulation/demodulation circuit unit) ex352 performs spread spectrumprocessing on the multiplexed data, and the transmitting and receivingunit ex351 performs digital-to-analog conversion and frequencyconversion on the data so as to transmit the resulting data via theantenna ex350.

When receiving data of a video file which is linked to a Web page andothers in data communication mode or when receiving an e-mail with videoand/or audio attached, in order to decode the multiplexed data receivedvia the antenna ex350, the multiplexing/demultiplexing unit ex353demultiplexes the multiplexed data into a video data bit stream and anaudio data bit stream, and supplies the video signal processing unitex355 with the coded video data and the audio signal processing unitex354 with the coded audio data, through the synchronous bus ex370. Thevideo signal processing unit ex355 decodes the video signal using amoving picture decoding method corresponding to the moving picturecoding method shown in the above embodiment (i.e., functions as theimage decoding apparatus according to the aspect of the presentdisclosure), and then the display unit ex358 displays, for instance, thevideo and still images included in the video file linked to the Web pagevia the LCD control unit ex359. Furthermore, the audio signal processingunit ex354 decodes the audio signal, and the audio output unit ex357provides the audio.

Furthermore, similarly to the television ex300, a terminal such as thecellular phone ex114 probably has 3 types of implementationconfigurations including not only (i) a transmitting and receivingterminal including both a coding apparatus and a decoding apparatus, butalso (ii) a transmitting terminal including only a coding apparatus and(iii) a receiving terminal including only a decoding apparatus. Althoughthe digital broadcasting system ex200 receives and transmits themultiplexed data obtained by multiplexing audio data onto video data inthe description, the multiplexed data may be data obtained bymultiplexing not audio data but character data related to video ontovideo data, and may be not multiplexed data but video data itself.

As such, the moving picture coding method and the moving picturedecoding method in the above embodiment can be used in any of thedevices and systems described. Thus, the advantages described in theabove embodiment can be obtained.

Furthermore, various modifications and revisions can be made in any ofthe embodiments in the present disclosure.

Embodiment 3

Video data can be generated by switching, as necessary, between (i) themoving picture coding method or the moving picture coding apparatusshown in each of Embodiments and (ii) a moving picture coding method ora moving picture coding apparatus in conformity with a differentstandard, such as MPEG-2, MPEG4-AVC, and VC-1.

Here, when a plurality of video data that conforms to the differentstandards is generated and is then decoded, the decoding methods need tobe selected to conform to the different standards. However, since towhich standard each of the plurality of the video data to be decodedconforms cannot be detected, there is a problem that an appropriatedecoding method cannot be selected.

In order to solve the problem, multiplexed data obtained by multiplexingaudio data and others onto video data has a structure includingidentification information indicating to which standard the video dataconforms. The specific structure of the multiplexed data including thevideo data generated in the moving picture coding method and by themoving picture coding apparatus shown in each of Embodiments will behereinafter described. The multiplexed data is a digital stream in theMPEG2-Transport Stream format.

FIG. 25 illustrates a structure of the multiplexed data. As illustratedin FIG. 25, the multiplexed data can be obtained by multiplexing atleast one of a video stream, an audio stream, a presentation graphicsstream (PG), and an interactive graphics stream. The video streamrepresents primary video and secondary video of a movie, the audiostream (IG) represents a primary audio part and a secondary audio partto be mixed with the primary audio part, and the presentation graphicsstream represents subtitles of the movie. Here, the primary video isnormal video to be displayed on a screen, and the secondary video isvideo to be displayed on a smaller window in the primary video.Furthermore, the interactive graphics stream represents an interactivescreen to be generated by arranging the GUI components on a screen. Thevideo stream is coded in the moving picture coding method or by themoving picture coding apparatus shown in each of Embodiments, or in amoving picture coding method or by a moving picture coding apparatus inconformity with a conventional standard, such as MPEG-2, MPEG4-AVC, andVC-1. The audio stream is coded in accordance with a standard, such asDolby-AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD, and linear PCM.

Each stream included in the multiplexed data is identified by PID. Forexample, 0x1011 is allocated to the video stream to be used for video ofa movie, 0x1100 to 0x111F are allocated to the audio streams, 0x1200 to0x121F are allocated to the presentation graphics streams, 0x1400 to0x141F are allocated to the interactive graphics streams, 0x1B00 to0x1B1F are allocated to the video streams to be used for secondary videoof the movie, and 0x1A00 to 0x1A1F are allocated to the audio streams tobe used for the secondary audio to be mixed with the primary audio.

FIG. 26 schematically illustrates how data is multiplexed. First, avideo stream ex235 composed of video frames and an audio stream ex238composed of audio frames are transformed into a stream of PES packetsex236 and a stream of PES packets ex239, and further into TS packetsex237 and TS packets ex240, respectively. Similarly, data of apresentation graphics stream ex241 and data of an interactive graphicsstream ex244 are transformed into a stream of PES packets ex242 and astream of PES packets ex245, and further into TS packets ex243 and TSpackets ex246, respectively. These TS packets are multiplexed into astream to obtain multiplexed data ex247.

FIG. 27 illustrates how a video stream is stored in a stream of PESpackets in more detail. The first bar in FIG. 27 shows a video framestream in a video stream. The second bar shows the stream of PESpackets. As indicated by arrows denoted as yy1, yy2, yy3, and yy4 inFIG. 27, the video stream is divided into pictures as I pictures, Bpictures, and P pictures each of which is a video presentation unit, andthe pictures are stored in a payload of each of the PES packets. Each ofthe PES packets has a PES header, and the PES header stores aPresentation Time-Stamp (PTS) indicating a display time of the picture,and a Decoding Time-Stamp (DTS) indicating a decoding time of thepicture.

FIG. 28 illustrates a format of TS packets to be finally written on themultiplexed data. Each of the TS packets is a 188-byte fixed lengthpacket including a 4-byte TS header having information, such as a PIDfor identifying a stream and a 184-byte TS payload for storing data. ThePES packets are divided, and stored in the TS payloads, respectively.When a BD ROM is used, each of the TS packets is given a 4-byteTP_Extra_Header, thus resulting in 192-byte source packets. The sourcepackets are written on the multiplexed data. The TP_Extra_Header storesinformation such as an Arrival_Time_Stamp (ATS). The ATS shows atransfer start time at which each of the TS packets is to be transferredto a PID filter. The source packets are arranged in the multiplexed dataas shown at the bottom of FIG. 28. The numbers incrementing from thehead of the multiplexed data are called source packet numbers (SPNs).

Each of the TS packets included in the multiplexed data includes notonly streams of audio, video, subtitles and others, but also a ProgramAssociation Table (PAT), a Program Map Table (PMT), and a Program ClockReference (PCR). The PAT shows what a PID in a PMT used in themultiplexed data indicates, and a PID of the PAT itself is registered aszero. The PMT stores PIDs of the streams of video, audio, subtitles andothers included in the multiplexed data, and attribute information onthe streams corresponding to the PIDs. The PMT also has variousdescriptors relating to the multiplexed data. The descriptors haveinformation such as copy control information showing whether copying ofthe multiplexed data is permitted or not. The PCR stores STC timeinformation corresponding to an ATS showing when the PCR packet istransferred to a decoder, in order to achieve synchronization between anArrival Time Clock (ATC) that is a time axis of ATSs, and an System TimeClock (STC) that is a time axis of PTSs and DTSs.

FIG. 29 illustrates the data structure of the PMT in detail. A PMTheader is disposed at the top of the PMT. The PMT header describes thelength of data included in the PMT and others. A plurality ofdescriptors relating to the multiplexed data is disposed after the PMTheader. Information such as the copy control information is described inthe descriptors. After the descriptors, a plurality of pieces of streaminformation relating to the streams included in the multiplexed data isdisposed. Each piece of stream information includes stream descriptorseach describing information, such as a stream type for identifying acompression codec of a stream, a stream PID, and stream attributeinformation (such as a frame rate or an aspect ratio). The streamdescriptors are equal in number to the number of streams in themultiplexed data.

When the multiplexed data is recorded on a recording medium and others,it is recorded together with multiplexed data information files.

Each of the multiplexed data information files is management informationof the multiplexed data as shown in FIG. 30. The multiplexed datainformation files are in one to one correspondence with the multiplexeddata, and each of the files includes multiplexed data information,stream attribute information, and an entry map.

As illustrated in FIG. 30, the multiplexed data information includes asystem rate, a reproduction start time, and a reproduction end time. Thesystem rate indicates the maximum transfer rate at which a system targetdecoder to be described later transfers the multiplexed data to a PIDfilter. The intervals of the ATSs included in the multiplexed data areset to not higher than a system rate. The reproduction start timeindicates a PTS in a video frame at the head of the multiplexed data. Aninterval of one frame is added to a PTS in a video frame at the end ofthe multiplexed data, and the PTS is set to the reproduction end time.

As shown in FIG. 31, a piece of attribute information is registered inthe stream attribute information, for each PID of each stream includedin the multiplexed data. Each piece of attribute information hasdifferent information depending on whether the corresponding stream is avideo stream, an audio stream, a presentation graphics stream, or aninteractive graphics stream. Each piece of video stream attributeinformation carries information including what kind of compression codecis used for compressing the video stream, and the resolution, aspectratio and frame rate of the pieces of picture data that is included inthe video stream. Each piece of audio stream attribute informationcarries information including what kind of compression codec is used forcompressing the audio stream, how many channels are included in theaudio stream, which language the audio stream supports, and how high thesampling frequency is. The video stream attribute information and theaudio stream attribute information are used for initialization of adecoder before the player plays back the information.

In this embodiment, the multiplexed data to be used is of a stream typeincluded in the PMT. Furthermore, when the multiplexed data is recordedon a recording medium, the video stream attribute information includedin the multiplexed data information is used. More specifically, themoving picture coding method or the moving picture coding apparatusdescribed in each of Embodiments includes a step or a unit forallocating unique information indicating video data generated by themoving picture coding method or the moving picture coding apparatus ineach of Embodiments, to the stream type included in the PMT or the videostream attribute information. With the configuration, the video datagenerated by the moving picture coding method or the moving picturecoding apparatus described in each of Embodiments can be distinguishedfrom video data that conforms to another standard.

Furthermore, FIG. 32 illustrates steps of the moving picture decodingmethod according to this embodiment. In Step exS100, the stream typeincluded in the PMT or the video stream attribute information includedin the multiplexed data information is obtained from the multiplexeddata. Next, in Step exS101, it is determined whether or not the streamtype or the video stream attribute information indicates that themultiplexed data is generated by the moving picture coding method or themoving picture coding apparatus in each of Embodiments. When it isdetermined that the stream type or the video stream attributeinformation indicates that the multiplexed data is generated by themoving picture coding method or the moving picture coding apparatus ineach of Embodiments, in Step exS102, decoding is performed by the movingpicture decoding method in each of Embodiments. Furthermore, when thestream type or the video stream attribute information indicatesconformance to the conventional standards, such as MPEG-2, MPEG4-AVC,and VC-1, in Step exS103, decoding is performed by a moving picturedecoding method in conformity with the conventional standards.

As such, allocating a new unique value to the stream type or the videostream attribute information enables determination whether or not themoving picture decoding method or the moving picture decoding apparatusthat is described in each of Embodiments can perform decoding. Even whenmultiplexed data that conforms to a different standard, an appropriatedecoding method or apparatus can be selected. Thus, it becomes possibleto decode information without any error. Furthermore, the moving picturecoding method or apparatus, or the moving picture decoding method orapparatus in this embodiment can be used in the devices and systemsdescribed above.

Embodiment 4

Each of the moving picture coding method, the moving picture codingapparatus, the moving picture decoding method, and the moving picturedecoding apparatus in each of Embodiments is typically achieved in theform of an integrated circuit or a Large Scale Integrated (LSI) circuit.As an example, FIG. 33 illustrates a configuration of an LSI ex500 thatis made into one chip. The LSI ex500 includes elements ex501, ex502,ex503, ex504, ex505, ex506, ex507, ex508, and ex509 to be describedbelow, and the elements are connected to each other through a bus ex510.The power supply circuit unit ex505 is activated by supplying each ofthe elements with power when the power supply circuit unit ex505 isturned on.

For example, when coding is performed, the LSI ex500 receives an AVsignal from a microphone ex117, a camera ex113, and others through an AVIO ex509 under control of a control unit ex501 including a CPU ex502, amemory controller ex503, a stream controller ex504, and a drivingfrequency control unit ex512. The received AV signal is temporarilystored in an external memory ex511, such as an SDRAM. Under control ofthe control unit ex501, the stored data is segmented into data portionsaccording to the processing amount and speed to be transmitted to asignal processing unit ex507. Then, the signal processing unit ex507codes an audio signal and/or a video signal. Here, the coding of thevideo signal is the coding described in each of Embodiments.Furthermore, the signal processing unit ex507 sometimes multiplexes thecoded audio data and the coded video data, and a stream 10 ex506provides the multiplexed data outside. The provided multiplexed data istransmitted to the base station ex107, or written on the recording mediaex215. When data sets are multiplexed, the data should be temporarilystored in the buffer ex508 so that the data sets are synchronized witheach other.

Although the memory ex511 is an element outside the LSI ex500, it may beincluded in the LSI ex500. The buffer ex508 is not limited to onebuffer, but may be composed of buffers. Furthermore, the LSI ex500 maybe made into one chip or a plurality of chips.

Furthermore, although the control unit ex501 includes the CPU ex502, thememory controller ex503, the stream controller ex504, the drivingfrequency control unit ex512, the configuration of the control unitex501 is not limited to such. For example, the signal processing unitex507 may further include a CPU. Inclusion of another CPU in the signalprocessing unit ex507 can improve the processing speed. Furthermore, asanother example, the CPU ex502 may serve as or be a part of the signalprocessing unit ex507, and, for example, may include an audio signalprocessing unit. In such a case, the control unit ex501 includes thesignal processing unit ex507 or the CPU ex502 including a part of thesignal processing unit ex507.

The name used here is LSI, but it may also be called IC, system LSI,super LSI, or ultra LSI depending on the degree of integration.

Moreover, ways to achieve integration are not limited to the LSI, and aspecial circuit or a general purpose processor and so forth can alsoachieve the integration. Field Programmable Gate Array (FPGA) that canbe programmed after manufacturing LSIs or a reconfigurable processorthat allows re-configuration of the connection or configuration of anLSI can be used for the same purpose. Such a programmable logic devicecan typically execute the moving picture coding method and/or the movingpicture decoding method according to any of the above embodiments, byloading or reading from a memory or the like one or more programs thatare included in software or firmware

In the future, with advancement in semiconductor technology, a brand-newtechnology may replace LSI. The functional blocks can be integratedusing such a technology. The possibility is that the present disclosureis applied to biotechnology.

Embodiment 5

When video data generated in the moving picture coding method or by themoving picture coding apparatus described in each of Embodiments isdecoded, compared to when video data that conforms to a conventionalstandard, such as MPEG-2, MPEG-4 AVC, and VC-1 is decoded, theprocessing amount probably increases. Thus, the LSI ex500 needs to beset to a driving frequency higher than that of the CPU ex502 to be usedwhen video data in conformity with the conventional standard is decoded.However, when the driving frequency is set higher, there is a problemthat the power consumption increases.

In order to solve the problem, the moving picture decoding apparatus,such as the television ex300 and the LSI ex500 is configured todetermine to which standard the video data conforms, and switch betweenthe driving frequencies according to the determined standard. FIG. 34illustrates a configuration ex800 in the present embodiment. A drivingfrequency switching unit ex803 sets a driving frequency to a higherdriving frequency when video data is generated by the moving picturecoding method or the moving picture coding apparatus described in eachof Embodiments. Then, the driving frequency switching unit ex803instructs a decoding processing unit ex801 that executes the movingpicture decoding method described in each of Embodiments to decode thevideo data. When the video data conforms to the conventional standard,the driving frequency switching unit ex803 sets a driving frequency to alower driving frequency than that of the video data generated by themoving picture coding method or the moving picture coding apparatusdescribed in each of Embodiments. Then, the driving frequency switchingunit ex803 instructs the decoding processing unit ex802 that conforms tothe conventional standard to decode the video data.

More specifically, the driving frequency switching unit ex803 includesthe CPU ex502 and the driving frequency control unit ex512 in FIG. 33.Here, each of the decoding processing unit ex801 that executes themoving picture decoding method described in each of Embodiments and thedecoding processing unit ex802 that conforms to the conventionalstandard corresponds to the signal processing unit ex507 in FIG. 33. TheCPU ex502 determines to which standard the video data conforms. Then,the driving frequency control unit ex512 determines a driving frequencybased on a signal from the CPU ex502. Furthermore, the signal processingunit ex507 decodes the video data based on the signal from the CPUex502. For example, the identification information described inEmbodiment 3 is probably used for identifying the video data. Theidentification information is not limited to the one described inEmbodiment 3 but may be any information as long as the informationindicates to which standard the video data conforms. For example, whenwhich standard video data conforms to can be determined based on anexternal signal for determining that the video data is used for atelevision or a disk, etc., the determination may be made based on suchan external signal. Furthermore, the CPU ex502 selects a drivingfrequency based on, for example, a look-up table in which the standardsof the video data are associated with the driving frequencies as shownin FIG. 36. The driving frequency can be selected by storing the look-uptable in the buffer ex508 and in an internal memory of an LSI, and withreference to the look-up table by the CPU ex502.

FIG. 35 illustrates steps for executing a method in the presentembodiment. First, in Step exS200, the signal processing unit ex507obtains identification information from the multiplexed data. Next, inStep exS201, the CPU ex502 determines whether or not the video data isgenerated by the coding method and the coding apparatus described ineach of Embodiments, based on the identification information. When thevideo data is generated by the moving picture coding method and themoving picture coding apparatus described in each of Embodiments, inStep exS202, the CPU ex502 transmits a signal for setting the drivingfrequency to a higher driving frequency to the driving frequency controlunit ex512. Then, the driving frequency control unit ex512 sets thedriving frequency to the higher driving frequency. On the other hand,when the identification information indicates that the video dataconforms to the conventional standard, such as MPEG-2, MPEG-4 AVC, andVC-1, in Step exS203, the CPU ex502 transmits a signal for setting thedriving frequency to a lower driving frequency to the driving frequencycontrol unit ex512. Then, the driving frequency control unit ex512 setsthe driving frequency to the lower driving frequency than that in thecase where the video data is generated by the moving picture codingmethod and the moving picture coding apparatus described in each ofEmbodiments.

Furthermore, along with the switching of the driving frequencies, thepower conservation effect can be improved by changing the voltage to beapplied to the LSI ex500 or an apparatus including the LSI ex500. Forexample, when the driving frequency is set lower, the voltage to beapplied to the LSI ex500 or the apparatus including the LSI ex500 isprobably set to a voltage lower than that in the case where the drivingfrequency is set higher.

Furthermore, when the processing amount for decoding is larger, thedriving frequency may be set higher, and when the processing amount fordecoding is smaller, the driving frequency may be set lower as themethod for setting the driving frequency. Thus, the setting method isnot limited to the ones described above. For example, when theprocessing amount for decoding video data in conformity with MPEG-4 AVCis larger than the processing amount for decoding video data generatedby the moving picture coding method and the moving picture codingapparatus described in each of Embodiments, the driving frequency isprobably set in reverse order to the setting described above.

Furthermore, the method for setting the driving frequency is not limitedto the method for setting the driving frequency lower. For example, whenthe identification information indicates that the video data isgenerated by the moving picture coding method and the moving picturecoding apparatus described in each of Embodiments, the voltage to beapplied to the LSI ex500 or the apparatus including the LSI ex500 isprobably set higher. When the identification information indicates thatthe video data conforms to the conventional standard, such as MPEG-2,MPEG-4 AVC, and VC-1, the voltage to be applied to the LSI ex500 or theapparatus including the LSI ex500 is probably set lower. As anotherexample, when the identification information indicates that the videodata is generated by the moving picture coding method and the movingpicture coding apparatus described in each of Embodiments, the drivingof the CPU ex502 does not probably have to be suspended. When theidentification information indicates that the video data conforms to theconventional standard, such as MPEG-2, MPEG-4 AVC, and VC-1, the drivingof the CPU ex502 is probably suspended at a given time because the CPUex502 has extra processing capacity. Even when the identificationinformation indicates that the video data is generated by the movingpicture coding method and the moving picture coding apparatus describedin each of Embodiments, in the case where the CPU ex502 has extraprocessing capacity, the driving of the CPU ex502 is probably suspendedat a given time. In such a case, the suspending time is probably setshorter than that in the case where when the identification informationindicates that the video data conforms to the conventional standard,such as MPEG-2, MPEG-4 AVC, and VC-1.

Accordingly, the power conservation effect can be improved by switchingbetween the driving frequencies in accordance with the standard to whichthe video data conforms. Furthermore, when the LSI ex500 or theapparatus including the LSI ex500 is driven using a battery, the batterylife can be extended with the power conservation effect.

Embodiment 6

There are cases where a plurality of video data that conforms todifferent standards, is provided to the devices and systems, such as atelevision and a cellular phone. In order to enable decoding theplurality of video data that conforms to the different standards, thesignal processing unit ex507 of the LSI ex500 needs to conform to thedifferent standards. However, the problems of increase in the scale ofthe circuit of the LSI ex500 and increase in the cost arise with theindividual use of the signal processing units ex507 that conform to therespective standards.

In order to solve the problem, what is conceived is a configuration inwhich the decoding processing unit for implementing the moving picturedecoding method described in each of Embodiments and the decodingprocessing unit that conforms to the conventional standard, such asMPEG-2, MPEG-4 AVC, and VC-1 are partly shared. Ex900 in FIG. 37A showsan example of the configuration. For example, the moving picturedecoding method described in each of Embodiments and the moving picturedecoding method that conforms to MPEG-4 AVC have, partly in common, thedetails of processing, such as entropy coding, inverse quantization,deblocking filtering, and motion compensated prediction. The details ofprocessing to be shared probably include use of a decoding processingunit ex902 that conforms to MPEG-4 AVC. In contrast, a dedicateddecoding processing unit ex901 is probably used for other processingunique to an aspect of the present disclosure. Since the aspect of thepresent disclosure is characterized by the extraction of coded data froma buffer in particular, for example, the dedicated decoding processingunit ex901 is used for this extraction of coded data. Otherwise, thedecoding processing unit is probably shared for one of the entropydecoding, inverse quantization, deblocking filtering, and motioncompensation, or all of the processing. The decoding processing unit forimplementing the moving picture decoding method described in each ofEmbodiments may be shared for the processing to be shared, and adedicated decoding processing unit may be used for processing unique tothat of MPEG-4 AVC.

Furthermore, ex1000 in FIG. 37B shows another example in that processingis partly shared. This example uses a configuration including adedicated decoding processing unit ex1001 that supports the processingunique to an aspect of the present disclosure, a dedicated decodingprocessing unit ex1002 that supports the processing unique to anotherconventional standard, and a decoding processing unit ex1003 thatsupports processing to be shared between the moving picture decodingmethod according to the aspect of the present disclosure and theconventional moving picture decoding method. Here, the dedicateddecoding processing units ex1001 and ex1002 are not necessarilyspecialized for the processing according to the aspect of the presentdisclosure and the processing of the conventional standard,respectively, and may be the ones capable of implementing generalprocessing. Furthermore, the configuration of the present embodiment canbe implemented by the LSI ex500.

As such, reducing the scale of the circuit of an LSI and reducing thecost are possible by sharing the decoding processing unit for theprocessing to be shared between the moving picture decoding methodaccording to the aspect of the present disclosure and the moving picturedecoding method in conformity with the conventional standard.

The herein disclosed subject matter is to be considered descriptive andillustrative only, and the appended Claims are of a scope intended tocover and encompass not only the particular embodiment(s) disclosed, butalso equivalent structures, methods, and/or uses.

INDUSTRIAL APPLICABILITY

One or more exemplary embodiments disclosed herein are applicable toimage coding methods, image decoding methods, image coding apparatuses,and image decoding apparatuses. One or more exemplary embodimentsdisclosed herein can be used for information display devices and imagingdevices with high resolution which include image coding apparatuses,such as televisions, digital video recorders, car navigation systems,cellular phones, digital cameras, and digital video cameras.

What is claimed is:
 1. A decoding method of decoding encoded data perunit from among units included in a picture, the decoding methodcomprising: decoding, from a bitstream including the encoded data, afirst flag indicating whether a removal time of the encoded data from abuffer is set per unit, the buffer storing the encoded data; decoding,from the bitstream, a second flag indicating whether an interval betweenremoval times of the units is constant when the removal time is set perunit; removing the encoded data from the buffer per unit and at aninterval according to the second flag; and decoding the removed encodeddata, wherein the first flag is decoded from video usability informationof the bitstream, the video usability information being assigned to atleast one picture, and the second flag is decoded from controlinformation of the bitstream, the control information being provided perpicture.
 2. The decoding method according to claim 1, furthercomprising: decoding common-interval information from the controlinformation when the second flag indicates that the interval isconstant, the common-interval information indicating a constant intervalbetween removal times of any two consecutive units.
 3. The decodingmethod according to claim 2, wherein the common-interval informationincludes a time interval between the units and a total number of theunits included in one picture, and in the removing, the interval iscalculated using the time interval between the units and the totalnumber of the units, and the encoded data is removed from the buffer perunit and at the calculated interval.
 4. A non-transitorycomputer-readable recording medium having recorded thereon a program forcausing a computer to execute the decoding method according to claim 1.5. A decoding apparatus of decoding encoded data per unit from amongunits included in a picture, the decoding apparatus comprising: at leastone processor; and a buffer coupled to the at least one processor,wherein the at least one processor is configured to: decode, from abitstream including the encoded data, a first flag indicating whether aremoval time of the encoded data from the buffer is set per unit, thebuffer storing the encoded data; decode, from the bitstream, a secondflag indicating whether an interval between removal times of the unitsis constant when the removal time is set per unit; remove the encodeddata from the buffer per unit and at an interval according to the secondflag; and decode the removed encoded data, the first flag is decodedfrom video usability information of the bitstream, the video usabilityinformation being assigned to at least one picture, and the second flagis decoded from control information of the bitstream, the controlinformation being provided per picture.